1. Field of the Invention
The present invention relates to an encoding method and a code processing circuit suitable for use in a communication system for effecting data communication by serial signal transmission, such as public digital communication, a local area network (LAN), a controlling network within various types of equipment, and so on.
2. Description of the Related Art
In a communication system for effecting data communication by serial signal transmission, such as those mentioned above, it is preferred that timing information is included in data itself which comprises serial signals. In other words, even if a bit pattern of data is constituted by strings of successive logical "0s" and strings of successive logical "1s", it is preferred that timing extraction thereof is made possible on the receiving side.
Conventionally well-known encoding methods which permit such signal transmission include CMI (coded mark inversion) encoding (CMI modulation), DMI (differential mode inversion) encoding (DMI modulation), and Manchester encoding (Manchester modulation), and the like. FIG. 6 shows a list of encoding forms of these encoding methods in comparison with a non-return-to-zero (NRZ) code signal used in actual data processing and control as an original data signal.
FIG. 6 shows transition of the logical level with which the aforementioned encoding (modulation) signals beginning with the NRZ code signal are respectively formed with respect to the contents of data (logical contents) illustrated in the part (a) of FIG. 6. If a comparison is made between these encoding methods and an examination is made, the following conclusion can be derived.
(a) In the CMI code shown in the part (c) of FIG. 6, the rise timing of the signal (pulse) on each occasion synchronizes with a demarcating point in data, i.e., a demarcating point of a unit bit time. These rise timings of the signal essentially never occur midway in the unit bit time (data time).
(b) In the DMI code shown in the part (d) of FIG. 6 and the Manchester code shown in the part (e) of FIG. 6, even in cases where there is a string of successive logical "0s" or "1s" in the contents of the data, the logical level of the code shifts in a rising or falling direction, as necessary, and extraction of data timing becomes possible. Nevertheless, regularity such as that of the CMI code does not take place. In other words, a specific timing, whether it be the aforementioned rise timing or a fall timing, does not necessarily synchronize with a demarcating point of a unit bit time (a demarcating point in data). Similarly, as for the rise timing, for example, the timing may occur either at a demarcating point of the unit bit time or at a midpoint in the unit bit time, as indicated by ".largecircle." and ".times." in FIG. 6. The same holds true of the fall timing.
Accordingly, in the case of the DMI code and the Manchester code, at the time when they are demodulated (decoded), before the data to be actually processed is received, a demarcating point of the unit bit time must be ascertained by receiving in advance pseudo signals corresponding to logical "0s" or "1s" for some time, whereupon demodulation must be effected with respect to the incoming data to be processed by constantly making a comparison with a past history. In the case of the CMI code, however, at the time when this code is demodulated (decoded), since the rise timing of the signal can be determined to be the demarcation of the unit bit time, the data timing is detected directly from the data to be processed, by using, for instance, a circuit which is triggered by this rise signal, and, hence, demodulation thereof can be effected. In addition, in the case of the DMI code and the Manchester code whose demodulation (decoding) is effected by making a comparison with a past history, as described above, if even a half bit of the incoming data fails to be received owing to some cause, an error occurs in the history, thereby making it impossible to detect the demarcating point of the unit bit time. That is, demodulation becomes impossible. In this respect, in the CMI code whose data timing is detected directly from the data to be processed, even if an error occurs midway in the demodulation thereof, the subsequent processing is not affected by the error.
In view of these circumstances, the encoding method using the above-described CMI encoding has in recent years come to attract attention as an encoding method adopted in a data communication system based on serial signal transmission.
As described above, the CMI code is easier to use than the DMI code, the Manchester code, and the like. However, as is apparent from the form of encoding shown in the part (c) of FIG. 6, as for the rise timing of the encoded signal used in the detection of the data timing, an interval corresponding to a bit time of three bits at maximum occurs (see arrows in the part (c) of FIG. 6). This means that the frequency of a basic clock used for demodulation (decoding) must be set to a level substantially higher (normally by about 16-fold) than the frequency of the data clock (a signal synchronous with a unit bit time of data), and that a measure against a high frequency must be duly provided for a demodulation (decoding) circuit therefor.